package br.com.crednove.modelo;

public class Parcela implements Comparable{
    
    private int parcelasContrato;
    private int parcelasEmAberto;
    private int parcelasPagas;
    private float valorParcela;
    private float saldoRefin;
    private float bruto;
    private float liquido;

    public Parcela() {
        this.parcelasContrato = 0;
        this.parcelasEmAberto = 0;
        this.parcelasPagas = 0;
        this.valorParcela = 0;
        this.saldoRefin = 0;
        this.bruto = 0;
        this.liquido = 0;
    }
    
    public void preencheCampo(int campo, String valor){
        try{
            switch(campo){
                case 2: this.parcelasContrato = Integer.parseInt(valor); break;
                case 3: this.parcelasEmAberto = Integer.parseInt(valor); break;
                case 4: this.valorParcela = Float.parseFloat(valor.replace(',', '.')); break;
                case 0: this.saldoRefin = Float.parseFloat(valor.replace(',', '.')); break;
            }
        }catch(Exception ex){
                
        }
    }

    public float calcularBruto(float valorParcela, float coeficiente){
        return valorParcela/coeficiente;
    }
    
    public float calcularLiquido(float bruto, float saldoRefin){
        return bruto - saldoRefin;
    }
    
    public float calcularParcela(float coeficienteRed, float valorSomado){
        return ((this.saldoRefin + valorSomado)*coeficienteRed);
    }
    
    public int getParcelasContrato() {
        return parcelasContrato;
    }

    public void setParcelasContrato(int parcelasContrato) {
        this.parcelasContrato = parcelasContrato;
    }

    public int getParcelasEmAberto() {
        return parcelasEmAberto;
    }

    public void setParcelasEmAberto(int parcelasEmAberto) {
        this.parcelasEmAberto = parcelasEmAberto;
    }

    public int getParcelasPagas() {
        return parcelasPagas;
    }

    public void setParcelasPagas(int parcelasPagas) {
        this.parcelasPagas = parcelasPagas;
    }

    public float getValorParcela() {
        return valorParcela;
    }

    public void setValorParcela(float valorParcela) {
        this.valorParcela = valorParcela;
    }

    public float getSaldoRefin() {
        return saldoRefin;
    }

    public void setSaldoRefin(float saldoRefin) {
        this.saldoRefin = saldoRefin;
    }

    public float getBruto() {
        return bruto;
    }

    public void setBruto(float bruto) {
        this.bruto = bruto;
    }

    public float getLiquido() {
        return liquido;
    }

    public void setLiquido(float liquido) {
        this.liquido = liquido;
    }

    @Override
    public int compareTo(Object t) {
        Parcela p = (Parcela)t;
        if(this.valorParcela == p.getValorParcela()){
            return 0;
        }else{
            if(this.valorParcela > p.getValorParcela()){
                return 1;
            }else{
                return -1;
            }
        }
    }
}